import fetch from "../../utils/fetch";
import { loginTip } from '../../utils/util';
const globalData = getApp().globalData;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo:{},
    isLogin: false,
    num: 0, //未读消息数量
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if(globalData.isLogin){
      this.setData({
        isLogin:globalData.isLogin?true:false,
        userInfo:globalData.userInfo
      })
    }
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getMessageReadNum();
    this.setData({
      userInfo:globalData.userInfo
    })
  },
  login(){
    var that = this;
    wx.showLoading({
      title: '登录中',
    })
    wx.login({
      success(res){
        fetch(`/users/login?js_code=${res.code}`).then(res=>{
          wx.hideLoading();
          // 需要注册
          if(res.data.needRegister){
            wx.navigateTo({
              url: `../userinfo/userinfo?isRegister=${res.data.isRegister}`,
            })
          }else{
            // 已注册
            let user = res.data.user;
            let token = res.data.token;
            delete user.isRegister;
            wx.showToast({
              title: '登录成功',
              duration: 1000
            })
            wx.setStorageSync('userInfo', user);   //将用户数据放在缓存中
            wx.setStorageSync('token', token); 
            globalData.userInfo =  user;
            globalData.isLogin = true;
            globalData.token = token;
            that.setData({
              userInfo: user,
              isLogin: true
            })
            wx.reLaunch({
              url: '../mine/mine',
            })
          }
        }).catch(err=>{
          that.login();
        })
      }
    })
  },
  logout(){
    if(!globalData.isLogin){
      loginTip();
      return ;
    }
    wx.showModal({
      title:'退出登录',
      content:'确定退出登录吗？'
    }).then(res=>{
      if(res.confirm){
        wx.showLoading({
          title: '正在退出',
        });
        wx.clearStorage({
          success: (res) => {
            wx.hideLoading();
            wx.showToast({
              title: '成功退出',
            });
            globalData.userInfo = {};
            globalData.isLogin = false;
            wx.reLaunch({
              url: '../mine/mine',
            })
          },
          fail:(err)=>{
            wx.hideLoading();
            wx.showToast({
              title: '退出失败，请重新尝试',
              icon: 'none'
            })
          }
        })
      }
    })
  },
  //前往个人修改页面
  gotoInfoModify(){
    wx.navigateTo({
      url: '../userinfo/userinfo?isRegister=',
    })
  },
  gotoCollect(){
    wx.navigateTo({
      url: '../collect/collect',
    })
  },
  //获取未读消息数量
  getMessageReadNum(){
    if(!globalData.isLogin){
      return;
    }
    fetch('/message/readNum',{
      userId:globalData.userInfo.id
    }).then(res=>{
      this.setData({
        num:res.data.count
      })
    })
  }, 
  //前往消息页面
  gotoMessage(){
    if(!globalData.isLogin){
      loginTip();
      return;
    }
    wx.navigateTo({
      url: '../message/message',
    })
  },
  gotoScore(){
    if(!globalData.isLogin){
      loginTip();
      return;
    }
    wx.navigateTo({
      url: '../scoreRecord/scoreRecord',
    })
  },
  gotoCenter(){
    if(!globalData.isLogin){
      loginTip();
      return;
    }
    const userId = globalData.userInfo.id;
    wx.navigateTo({
      url: '../personalCenter/personalCenter?userId='+userId
    })
  }
})